package com.yike.user.service;

import com.yike.user.entity.UserCategory;
import com.yike.user.param.UserCategoryPageParam;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.user.param.UserCategoryParam;
import com.yike.user.vo.UserCategoryVo;

/**
 * 用户类型 服务类
 *
 * @author Sakura
 * @since 2024-10-31
 */
public interface UserCategoryService extends BaseService<UserCategory> {

    /**
     * 保存
     *
     * @param userCategoryParam
     * @return
     * @throws Exception
     */
    boolean saveUserCategory(UserCategoryParam userCategoryParam) throws Exception;

    /**
     * 修改
     *
     * @param userCategoryParam
     * @return
     * @throws Exception
     */
    boolean updateUserCategory(UserCategoryParam userCategoryParam) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteUserCategory(Long id) throws Exception;

    UserCategoryVo getUserCategory(Long id) throws Exception;


    /**
     * 获取分页对象
     *
     * @param userCategoryPageParam
     * @return
     * @throws Exception
     */
    Paging<UserCategoryVo> getUserCategoryPageList(UserCategoryPageParam userCategoryPageParam) throws Exception;

}
